package org.krishna.model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;

@Entity
@Table(name = "hr_employee")
public class Employee implements Serializable {
	
	/** The Constant serialVersionUID. */
	@Transient
	private static final long serialVersionUID = -7660824605183781430L;
	

	@Id
	@GeneratedValue
	@Column(name = "emp_number")
	private long empNumber;

	@Column(name = "employee_id")
	private String employeeId;

	@Column(name = "emp_lastname")
	private String empLastName;
	
	@Column(name = "emp_firstname")
	private String empFirstName;
	
	@Column(name = "emp_middle_name")
	private String empMiddleName;
	
	@Column(name = "emp_gender")
	private int empGender;
	
	@Column(name = "emp_marital_status")
	private String empMaritalStatus;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "job_title_code")
	private JobTitle jobtitle;	
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "emp_status")
	private JobStatus jobStatus;

	public long getEmpNumber() {
		return empNumber;
	}

	public void setEmpNumber(long empNumber) {
		this.empNumber = empNumber;
	}

	public String getEmployeeId() {
		return employeeId;
	}

	public void setEmployeeId(String employeeId) {
		this.employeeId = employeeId;
	}

	public String getEmpLastName() {
		return empLastName;
	}

	public void setEmpLastName(String empLastName) {
		this.empLastName = empLastName;
	}

	public String getEmpFirstName() {
		return empFirstName;
	}

	public void setEmpFirstName(String empFirstName) {
		this.empFirstName = empFirstName;
	}

	public String getEmpMiddleName() {
		return empMiddleName;
	}

	public void setEmpMiddleName(String empMiddleName) {
		this.empMiddleName = empMiddleName;
	}

	public int getEmpGender() {
		return empGender;
	}

	public void setEmpGender(int empGender) {
		this.empGender = empGender;
	}

	public String getEmpMaritalStatus() {
		return empMaritalStatus;
	}

	public void setEmpMaritalStatus(String empMaritalStatus) {
		this.empMaritalStatus = empMaritalStatus;
	}

	public JobTitle getJobtitle() {
		return jobtitle;
	}

	public void setJobtitle(JobTitle jobtitle) {
		this.jobtitle = jobtitle;
	}

	public JobStatus getJobStatus() {
		return jobStatus;
	}

	public void setJobStatus(JobStatus jobStatus) {
		this.jobStatus = jobStatus;
	}	
}
